
$(document).ready(function() {
    $("#btnRegist").click(function() {
        showRegistGroup();
    });

    $("#btnBack").click(function() {
        showLoginGroup();
    });

    $("#btnRegRegist").click(function() {
        $("#registFailTip").addClass("hid");
        regist(
            $("#txtRegUname").val(), 
            $("#txtRegUpass").val(), 
            $("#txtRegUconfirm").val(), 
            $("#txtRegUnick").val() 
        );
    });

    $(".txtR").click(function() {
        $(this).removeClass("invalid");
    });

	$("#btnLogin").click(function() {
        $("#loginFailTip").addClass("hid");
		var auto = null;
		if($("#chkAutolog")[0].checked) auto = "true"; else auto = "false";
		login($("#txtUname").val(), $("#txtUpass").val(), auto);
	});

	$("input").focus(function() {
		$(this).removeClass("invalid");
	});
	
	$(".enterLogin").bind('keydown',function(event) {
		if(event.keyCode == "13") {
			$("#btnLogin")[0].click();
		}
   });

	$(".enterRegist").bind('keydown',function(event) {
		if(event.keyCode == "13") {
			$("#btnRegRegist")[0].click();
		}
   });

	autologin();
});

function showLoginGroup() {
    $("#btnBack").addClass("hid");
    $("#registGroup").addClass("hid");
    $("#loginGroup").removeClass("hid");
    $("#title").text("Login Z5C Online");
}

function showRegistGroup() {
    $("#loginGroup").addClass("hid");
    $("#btnBack").removeClass("hid");
    $("#registGroup").removeClass("hid");
    $("#title").text("Regist Z5C Online");
}

function login(uname, upass, autolog) {
	if(uname == null  || !accountStrTest(uname)) {
        $("#txtUname").addClass("invalid");
        return false;
    }
	if(upass == null || !accountStrTest(upass)) {
        $("#txtUpass").addClass("invalid");
        return false;
    }
	$("#txtUpass").val("");
    $("#txtUconfirm").val("");
	upass = sha256.hex(upass);

	$.ajax({
		url:"login.user",
		type:"post",
		data:{
			username:uname,
			password:upass, 
			autoLogin:autolog
		},
		dataType:"json",
		success:function(data) {
			responseProcess(data);
		}
	});
}

function regist(uname, upass, uconfirm, unick) {

    if(uname == null  || !accountStrTest(uname)) {
        $("#txtRegUname").addClass("invalid");
        return false;
    }

    if(upass == null || !accountStrTest(upass)) {
        $("#txtRegUpass").addClass("invalid");
        return false;
    }

    if(uconfirm == null || uconfirm != upass) {
        $("#txtRegUconfirm").addClass("invalid");
        return false;
    }
    
    $("#txtRegUpass").val("");
    $("#txtRegUconfirm").val("");
    upass = sha256.hex(upass);
    
	$.ajax({
		url:"register.user",
		type:"post",
		data:{
			username:uname,
			password:upass,
			usernick:unick
		},
		dataType:"json",
		success:function(data) {
			responseProcess(data);
		}
	});
}